<HTML>
<HEAD>
  <!-- Created with AOLpress/2.0 -->
  <!-- AP: Created on: 10-Nov-2001 -->
  <!-- AP: Last modified: 24-Jan-2008 -->
  <TITLE>Hot Keys</TITLE>
  <LINK REL="icon" href="fftype16.png">
  <LINK REL="stylesheet" TYPE="text/css" HREF="FontForge.css">
</HEAD>
<BODY>
<DIV id="in">


  <H2 ALIGN=Center>
    Menu Hot Keys
  </H2>
  <P>
    As noted in hotkey <a href="#hotkeyassign">assignment</a> you can
    nominate the hotkeys which you prefer for all items in any menu of
    FontForge. Some default hotkeys are shipped with FontForge so that
    you do not have to assign any keys yourself unless you want to
    make changes. The defaults are shown below:
  <P>
  <TABLE CELLPADDING="2">
    <TR>
      <TD>Ctl-A</TD>
      <TD><A HREF="editmenu.html#All">Select All</A></TD>
      <TD>Ctl-Shft-A</TD>
      <TD><A HREF="elementmenu.html#Accented">Build Accented Glyph</A></TD>
      <TD>Alt-Ctl-A</TD>
      <TD><A HREF="editmenu.html#SelectPoints">Select All Points</A></TD>
    </TR>
    <TR>
      <TD>Ctl-B</TD>
      <TD><A HREF="elementmenu.html#Regenerate">Regenerate Bitmaps</A></TD>
      <TD>Ctl-Shft-B</TD>
      <TD><A HREF="elementmenu.html#Bitmaps">Bitmaps Available</A></TD>
    </TR>
    <TR>
      <TD>Ctl-C</TD>
      <TD><A HREF="editmenu.html#Copy">Copy</A></TD>
      <TD>Ctl-Shft-C</TD>
      <TD><A HREF="editmenu.html#CopyFg">Copy Fg to Bg</A></TD>
      <TD>Alt-Ctl-C</TD>
      <TD><A HREF="editmenu.html#CopyLookup">Copy Lookup Data</A></TD>
    </TR>
    <TR>
      <TD>Ctl-D</TD>
      <TD><A HREF="viewmenu.html#Points">Show/Hide Points</A></TD>
      <TD>Ctl-Shft-D</TD>
      <TD><A HREF="elementmenu.html#Correct">Correct Direction</A></TD>
    </TR>
    <TR>
      <TD>Ctl-E</TD>
      <TD><A HREF="elementmenu.html#Problems">Find Problems</A></TD>
      <TD>Ctl-Shft-E</TD>
      <TD><A HREF="elementmenu.html#Expand">Expand Stroke</A></TD>
      <TD></TD>
      <TD></TD>
      <TD></TD>
    </TR>
    <TR>
      <TD>Ctl-F</TD>
      <TD><A HREF="viewmenu.html#Fit">Fit in Window</A></TD>
      <TD>Ctl-Shft-F</TD>
      <TD><A HREF="elementmenu.html#Font">Font Info</A></TD>
      <TD>Alt-Ctl-F</TD>
      <TD><A HREF="search.html">Find / Replace</A></TD>
      <TD>Alt-Ctl-Shft-F</TD>
      <TD><A HREF="editmenu.html#ReplaceRef">Replace With Reference</A></TD>
    </TR>
    <TR>
      <TD>Ctl-G</TD>
      <TD><A HREF="editmenu.html#Reference">Copy Reference</A></TD>
      <TD>Ctl-Shft-G</TD>
      <TD><A HREF="filemenu.html#Generate">Generate Fonts</A></TD>
      <TD>Alt-Ctl-G</TD>
      <TD><A HREF="filemenu.html#GenerateMac">Generate Mac Family</A></TD>
      <TD></TD>
    </TR>
    <TR>
      <TD>Ctl-H</TD>
      <TD><A HREF="filemenu.html#Outline">Open Outline</A></TD>
      <TD>Ctl-Shft-H</TD>
      <TD><A HREF="hintsmenu.html#AutoHint">AutoHint</A></TD>
      <TD>Alt-Ctl-H</TD>
      <TD><A HREF="hintsmenu.html#Review">Review Hints</A></TD>
    </TR>
    <TR>
      <TD>Ctl-I</TD>
      <TD><A HREF="elementmenu.html#Info">Get Info</A></TD>
      <TD>Ctl-Shft-I</TD>
      <TD><A HREF="filemenu.html#Import">Import</A></TD>
      <TD>Alt-Ctl-Shft-I</TD>
      <TD><A HREF="elementmenu.html#CharInfo">Glyph Info</A></TD>
      <TD>Alt-Ctl-I</TD>
      <TD><A HREF="elementmenu.html#Dependents">Show Dependencies...</A></TD>
    </TR>
    <TR>
      <TD>Ctl-J</TD>
      <TD><A HREF="filemenu.html#Bitmap">Open Bitmap</A></TD>
      <TD>Ctl-Shft-J</TD>
      <TD><A HREF="editmenu.html#Join">Join</A></TD>
    </TR>
    <TR>
      <TD>Ctl-K</TD>
      <TD><A HREF="filemenu.html#Metrics">Open Metrics</A></TD>
      <TD>Ctl-Shft-K</TD>
      <TD><A HREF="metricsmenu.html#Kern">Auto Kern</A></TD>
      <TD>Alt-Ctl-Shft-K</TD>
      <TD><A HREF="filemenu.html#Merge-feature">Merge Feature Info</A></TD>
    </TR>
    <TR>
      <TD>Ctl-L</TD>
      <TD><A HREF="metricsmenu.html#LBearing">Set LBearing</A></TD>
      <TD>Ctl-Shft-L</TD>
      <TD><A HREF="metricsmenu.html#Width">Set Width</A></TD>
    </TR>
    <TR>
      <TD>Ctl-M</TD>
      <TD><A HREF="editmenu.html#Merge">Merge Point</A></TD>
      <TD>Ctl-Shft-M</TD>
      <TD><A HREF="elementmenu.html#Simplify">Simplify</A></TD>
      <TD>Alt-Ctl-M</TD>
      <TD><A HREF="editmenu.html#Elide">Elide Point</A></TD>
      <TD>Alt-Ctl-Shft-M</TD>
      <TD><A HREF="editmenu.html#Simplify">Simplify More</A></TD>
    </TR>
    <TR>
      <TD>Ctl-N</TD>
      <TD><A HREF="filemenu.html#New">New</A></TD>
      <TD>Ctl-Shft-N</TD>
      <TD></TD>
    </TR>
    <TR>
      <TD>Ctl-O</TD>
      <TD><A HREF="filemenu.html#Open">Open</A></TD>
      <TD>Ctl-Shft-O</TD>
      <TD><A HREF="elementmenu.html#Remove">Remove Overlap</A></TD>
    </TR>
    <TR>
      <TD>Ctl-P</TD>
      <TD><A HREF="filemenu.html#Print">Print</A></TD>
      <TD>Ctl-Shft-P</TD>
      <TD></TD>
      <TD>Alt-Ctl-P</TD>
      <TD><A HREF="display.html">Display</A></TD>
    </TR>
    <TR>
      <TD>Ctl-Q</TD>
      <TD><A HREF="filemenu.html#Quit">Quit</A></TD>
      <TD>Ctl-Shft-Q</TD>
      <TD><A HREF="filemenu.html#Close">Close</A></TD>
    </TR>
    <TR>
      <TD>Ctl-R</TD>
      <TD><A HREF="metricsmenu.html#RBearing">Set RBearing</A></TD>
      <TD>Ctl-Shft-R</TD>
      <TD><A HREF="filemenu.html#Revert">Revert File</A></TD>
      <TD>Ctl-Alt-R</TD>
      <TD><A HREF="filemenu.html#RevertGlyph">Revert Glyph</A></TD>
      <TD></TD>
      <TD></TD>
    </TR>
    <TR>
      <TD>Ctl-S</TD>
      <TD><A HREF="filemenu.html#Save">Save</A></TD>
      <TD>Ctl-Shft-S</TD>
      <TD><A HREF="filemenu.html#SaveAs">Save As</A></TD>
    </TR>
    <TR>
      <TD>Ctl-T</TD>
      <TD><A HREF="hintsmenu.html#AutoInstr">AutoInstr</A></TD>
      <TD>Ctl-Shft-T</TD>
      <TD><A HREF="elementmenu.html#AutoTrace">AutoTrace</A></TD>
    </TR>
    <TR>
      <TD>Ctl-U</TD>
      <TD><A HREF="editmenu.html#Unlink">Unlink Reference</A></TD>
      <TD>Ctl-Shft-U</TD>
      <TD></TD>
      <TD></TD>
    </TR>
    <TR>
      <TD>Ctl-V</TD>
      <TD><A HREF="editmenu.html#Paste">Paste</A></TD>
      <TD>Ctl-Shft-V</TD>
      <TD><A HREF="editmenu.html#PasteInto">Paste Into</A></TD>
    </TR>
    <TR>
      <TD>Ctl-W</TD>
      <TD><A HREF="editmenu.html#PasteInto"><A HREF="editmenu.html#Width">Copy
	Width</A></A></TD>
      <TD>Ctl-Shft-W</TD>
      <TD><A HREF="metricsmenu.html#Auto">Auto Width</A></TD>
    </TR>
    <TR>
      <TD>Ctl-X</TD>
      <TD><A HREF="editmenu.html#Cut">Cut</A></TD>
      <TD>Ctl-Shft-X</TD>
      <TD><A HREF="elementmenu.html#Add-Extrema">Add Extrema</A></TD>
    </TR>
    <TR>
      <TD>Ctl-Y</TD>
      <TD><A HREF="editmenu.html#Redo">Redo</A></TD>
      <TD>Ctl-Shft-Y</TD>
      <TD></TD>
    </TR>
    <TR>
      <TD>Ctl-Z</TD>
      <TD><A HREF="editmenu.html#Undo">Undo</A></TD>
      <TD>Ctl-Shft-Z</TD>
      <TD></TD>
    </TR>
    <TR>
      <TD>Ctl-\</TD>
      <TD><A HREF="elementmenu.html#Transform">Transform</A></TD>
    </TR>
    <TR>
      <TD></TD>
      <TD></TD>
      <TD>Ctl-Shft-_</TD>
      <TD><A HREF="elementmenu.html#Round">Round to Int</A></TD>
    </TR>
    <TR>
      <TD>Ctl-1</TD>
      <TD><A HREF="pointmenu.html#Make-First">Make First</A></TD>
      <TD>Ctl-Shft-!</TD>
      <TD></TD>
      <TD>Alt-Ctl-1</TD>
      <TD><A HREF="filemenu.html#ScriptMenu">Invokes user script</A></TD>
    </TR>
    <TR>
      <TD>Ctl-2</TD>
      <TD><A HREF="viewmenu.html#px24">24 pixel outline</A><BR>
	<A HREF="pointmenu.html#Curve">Curve Point</A></TD>
      <TD>Ctl-Shft-@</TD>
      <TD><A HREF="elementmenu.html#Average">Average Points</A></TD>
      <TD>Alt-Ctl-2</TD>
      <TD><A HREF="filemenu.html#ScriptMenu">Invokes user script</A></TD>
    </TR>
    <TR>
      <TD>Ctl-3</TD>
      <TD><A HREF="viewmenu.html#px36">36 pixel outline</A><BR>
	<A HREF="pointmenu.html#Corner">Corner Point</A></TD>
      <TD>Ctl-Shft-#</TD>
      <TD><A HREF="elementmenu.html#Space-Pts">Space Points</A></TD>
      <TD>Alt-Ctl-3</TD>
      <TD><A HREF="filemenu.html#ScriptMenu">Invokes user script</A><BR>
	&nbsp; &nbsp; ...</TD>
    </TR>
    <TR>
      <TD>Ctl-4</TD>
      <TD><A HREF="viewmenu.html#px48">48 pixel outline</A><BR>
	<A HREF="pointmenu.html#Tangent">Tangent Point</A></TD>
    </TR>
    <TR>
      <TD>Ctl-5</TD>
      <TD><A HREF="viewmenu.html#AntiAlias">Anti-Alias</A></TD>
      <TD>Ctl-Shft-%</TD>
      <TD><A HREF="viewmenu.html#32x8">32x8 cell window</A></TD>
      <TD></TD>
    </TR>
    <TR>
      <TD>Ctl-6</TD>
      <TD><A HREF="viewmenu.html#FitToEm">Fit To Em</A></TD>
      <TD>Ctl-Shft-^</TD>
      <TD><A HREF="viewmenu.html#16x4">16x4 cell window</A></TD>
    </TR>
    <TR>
      <TD>Ctl-7</TD>
      <TD><A HREF="viewmenu.html#px72">72 pixel outline</A></TD>
    </TR>
    <TR>
      <TD>Ctl-8</TD>
      <TD></TD>
      <TD>Ctl-Shft-*</TD>
      <TD><A HREF="viewmenu.html#8x2">8x2 cell window</A></TD>
    </TR>
    <TR>
      <TD>Ctl-9</TD>
      <TD><A HREF="viewmenu.html#px96">96 pixel outline</A></TD>
    </TR>
    <TR>
      <TD>Ctl-0</TD>
      <TD><A HREF="pointmenu.html#AddAnchor">Add Anchor Point...</A></TD>
    </TR>
    <TR>
      <TD>Ctl-]</TD>
      <TD><A HREF="viewmenu.html#Next">Next Glyph</A></TD>
      <TD>Ctl-Shft-}</TD>
      <TD><A HREF="editmenu.html#NPoint">Next Point</A></TD>
      <TD></TD>
    </TR>
    <TR>
      <TD>Ctl-[</TD>
      <TD><A HREF="viewmenu.html#Prev">Prev Glyph</A></TD>
      <TD>Ctl-Shft-{</TD>
      <TD><A HREF="editmenu.html#PPoint">Prev Point</A></TD>
    </TR>
    <TR VALIGN="Top">
      <TD>Ctl-.</TD>
      <TD><A HREF="filemenu.html#Execute">Execute Script</A><BR>
	<A HREF="editmenu.html#FirstPt">Select First Point</A></TD>
      <TD>Ctl-Shft-&gt;</TD>
      <TD><A HREF="viewmenu.html#Goto">Goto</A></TD>
      <TD>Alt-Ctl-.</TD>
      <TD><A HREF="editmenu.html#NextContour">First Point, Next Contour</A></TD>
    </TR>
    <TR>
      <TD>Ctl-,</TD>
      <TD><A HREF="editmenu.html#PointAt">Select Point At</A></TD>
      <TD>Ctl-Shft-&lt;</TD>
      <TD><A HREF="viewmenu.html#FindInFV">Find In Font View</A></TD>
      <TD>Alt-Ctl-,</TD>
      <TD><A HREF="editmenu.html#Contours">Points on Selected Contours</A></TD>
    </TR>
    <TR>
      <TD>Escape</TD>
      <TD><A HREF="editmenu.html#Deselect">Deselect All</A></TD>
      <TD>Ctl-Escape</TD>
      <TD><A HREF="editmenu.html#Invert">Invert Selection</A></TD>
    </TR>
    <TR>
      <TD>Backspace</TD>
      <TD><A HREF="editmenu.html#Clear">Clear</A></TD>
    </TR>
    <TR>
      <TD>Delete</TD>
      <TD><A HREF="editmenu.html#Clear">Clear</A></TD>
    </TR>
    <TR>
      <TD>Ctl-=</TD>
      <TD><A HREF="viewmenu.html#GFAntiAlias">Grid Fit Anti Alias</A></TD>
      <TD>Ctl-Shft-+</TD>
      <TD><A HREF="viewmenu.html#Bigger">Bigger Pixel
	Size</A><BR>
	<A HREF="viewmenu.html#GFBigge">Bigger Point Size</A></TD>
      <TD>Alt-Ctl-Shift-+</TD>
      <TD><A HREF="viewmenu.html#In">Zoom In</A></TD>
    </TR>
    <TR>
      <TD>Ctl--</TD>
      <TD><A HREF="viewmenu.html#Smaller">Smaller Pixel
	Size</A><BR>
	<A HREF="viewmenu.html#GFSmaller">Smaller Point Size</A></TD>
      <TD></TD>
      <TD></TD>
      <TD>Alt-Ctl--</TD>
      <TD><A HREF="viewmenu.html#Out">Zoom Out</A></TD>
    </TR>
    <TR>
      <TD>Help</TD>
      <TD><A HREF="helpmenu.html">Help</A></TD>
    </TR>
    <TR>
      <TD>F1</TD>
      <TD><A HREF="helpmenu.html">Help</A></TD>
      <TD><A HREF="helpmenu.html#Index">Index</A></TD>
    </TR>
    <TR>
      <TD>F2</TD>
      <TD></TD>
      <TD></TD>
      <TD></TD>
      <TD></TD>
    </TR>
    <TR>
      <TD>F3</TD>
      <TD></TD>
    </TR>
    <TR>
      <TD>F4</TD>
      <TD></TD>
    </TR>
    <TR>
      <TD>F5</TD>
      <TD></TD>
    </TR>
    <TR>
      <TD>F6</TD>
      <TD></TD>
    </TR>
    <TR>
      <TD>F7</TD>
      <TD></TD>
    </TR>
    <TR>
      <TD>F8</TD>
      <TD></TD>
      <TD></TD>
      <TD></TD>
    </TR>
    <TR>
      <TD>F9</TD>
      <TD></TD>
    </TR>
    <TR>
      <TD>F10</TD>
      <TD></TD>
    </TR>
  </TABLE>
  <P>
  <A HREF="uitranslationnotes.html#HotKeys">Hot Keys are now configurable
  through</A> a
  <A HREF="http://www.gnu.org/software/gettext/manual/">gettext</A> based
  mechanism.
  <H2>
    Different <A NAME="Keyboards">Keyboards</A>
  </H2>
  <P>
  The above descriptions assume you are using a keyboard for an IBM pc or
  compatible. But different keyboard vendors label their keys differently and
  different versions of X may map them differently.
  <P>
  I am aware of the following significant differences:
  <UL>
    <LI>
      On Mac OS/X the Option key is equivalent to the Alt modifier key
    <LI>
      On Suse PPC linux, the Command key is equivalent to the Alt modifier key<BR>
      (And the Option key acts as a compose key in the same way it does on the
      Mac when not using X)
    <LI>
      On Suns the meta (diamond) key is equivalent to the Alt modifier key.
  </UL>
  <P>
  FontForge will attempt to guess what keyboard you are using and produce menus
  with hot-key indicators that match the host machine. If you are displaying
  on a different machine from the one you are running on the menu names may
  be wrong. You can fix this up with the <A HREF="xres.html#Keyboard">keyboard
  resource</A>, or the -keyboard command line argument.
  <H2>
    Tool modifiers in the Outline Glyph Window
  </H2>
  <TABLE BORDER CELLPADDING="2">
    <TR>
      <TH>Tool</TH>
      <TH>Modifier</TH>
      <TH>Result</TH>
      <TH>Tool</TH>
      <TH>Modifier</TH>
      <TH>Result</TH>
    </TR>
    <TR>
      <TD ROWSPAN=3>pointer</TD>
      <TD>Shift</TD>
      <TD>Constrain horizontal/vert or italic angle/45&#176;</TD>
      <TD ROWSPAN=3>Magnify</TD>
      <TD ROWSPAN=3><TABLE CELLPADDING="2">
	  <TR>
	    <TD>Shift<BR>
	    </TD>
	  </TR>
	  <TR>
	    <TD>Alt</TD>
	  </TR>
	</TABLE>
      </TD>
      <TD ROWSPAN=3><TABLE CELLPADDING="2">
	  <TR>
	    <TD>When dragging a magnification area,<BR>
	      make it square</TD>
	  </TR>
	  <TR>
	    <TD>minify</TD>
	  </TR>
	</TABLE>
      </TD>
    </TR>
    <TR>
      <TD>Alt</TD>
      <TD>Select control points before normal points</TD>
    </TR>
    <TR>
      <TD>Shift-Alt</TD>
      <TD>Constrain control point motion to original angle from point</TD>
    </TR>
    <TR VALIGN="Top">
      <TD>freehand</TD>
      <TD>Shift</TD>
      <TD>Constrain horizontal/vert/45&#176;</TD>
      <TD>scroll</TD>
      <TD>Shift</TD>
      <TD>Constrain scroll either in single direction or<BR>
	by same amount in both directions</TD>
    </TR>
    <TR>
      <TD>add curve</TD>
      <TD>Shift</TD>
      <TD>Constrain horizontal/vert/45&#176; from last point</TD>
      <TD>add corner</TD>
      <TD>Shift</TD>
      <TD>Constrain horizontal/vert/45&#176; from last point</TD>
    </TR>
    <TR VALIGN="Top">
      <TD>add tangent</TD>
      <TD>Shift</TD>
      <TD>Constrain horizontal/vert/45&#176; from last point</TD>
      <TD>pen</TD>
      <TD>Shift</TD>
      <TD>Constrain points h/v/45 from last point<BR>
	Constrain control points h/v/45 from point</TD>
    </TR>
    <TR>
      <TD ROWSPAN=2>knife</TD>
      <TD>Shift</TD>
      <TD>Constrain horizontal/vert/45&#176;</TD>
      <TD ROWSPAN=2>ruler</TD>
      <TD>Shift</TD>
      <TD>Constrain measurement to one direction</TD>
    </TR>
    <TR>
      <TD></TD>
      <TD></TD>
      <TD>Alt</TD>
      <TD>Give current position more accurately</TD>
    </TR>
    <TR VALIGN="Top">
      <TD>scale</TD>
      <TD>Shift</TD>
      <TD>Constrain either to scale along x or y axis or<BR>
	scale both axes the same</TD>
      <TD>flip</TD>
      <TD></TD>
      <TD></TD>
    </TR>
    <TR>
      <TD>rotate</TD>
      <TD>Shift</TD>
      <TD>Constrain rotation to a multiple of 45&#176;</TD>
      <TD>skew</TD>
      <TD></TD>
      <TD></TD>
    </TR>
    <TR>
      <TD>3d rotate</TD>
      <TD></TD>
      <TD></TD>
      <TD>perspective</TD>
      <TD></TD>
      <TD></TD>
    </TR>
    <TR>
      <TD>rect/elipse</TD>
      <TD>Shft</TD>
      <TD>square/circle</TD>
      <TD>polygon/star</TD>
      <TD>Shift</TD>
      <TD>Constrains so that one of the vertices is<BR>
	horizontal/vertical/45&#176;</TD>
    </TR>
  </TABLE>
  <H2>
    Modifer keys for arrow keys in the Outline Glyph Window
  </H2>
  <P>
  <TABLE BORDER CELLPADDING="2">
    <TR>
      <TD><P ALIGN=Center>
	Control<BR>
	- or -<BR>
	CapsLock</TD>
      <TD>Makes the arrow keys scroll</TD>
    </TR>
    <TR>
      <TD>Alt</TD>
      <TD>Makes the arrow keys move by ten times as much as they would otherwise</TD>
    </TR>
  </TABLE>
  <H2>
    The menus
  </H2>
  <UL>
    <LI>
      <A HREF="filemenu.html">File</A>
    <LI>
      <A HREF="editmenu.html">Edit</A>
    <LI>
      <A HREF="pointmenu.html">Point</A>
    <LI>
      <A HREF="elementmenu.html">Element</A>
    <LI>
      <A HREF="hintsmenu.html">Hints</A>
    <LI>
      <A HREF="viewmenu.html">View</A>
    <LI>
      <A HREF="metricsmenu.html">Metrics</A>
    <LI>
      <A HREF="cidmenu.html">CID</A>
    <LI>
      <A HREF="mmmenu.html">MM</A>
    <LI>
      <A HREF="windowmenu.html">Window</A>
    <LI>
      <A HREF="helpmenu.html">Help</A>
    <LI>
      <A HREF="HotKeys.html">Hot Keys</A>
  </UL>

  <H2 ALIGN=Center id="hotkeyassign">
    Hotkeys
  </H2>
  <P>
  <IMG SRC="hotkeys.jpeg">
  <P>

    FontForge lets you assign custom hotkeys to the menus and other
    actions. Default hotkeys are provided for the menus in all windows
    which follow familiar key assignments such as Control+O to open a
    file and Control+c to "copy" something. The current hotkey for
    each menu item are shown in the menu itself to help you learn
    existing bindings and see if your modification to the bindings are
    as you expect.
  <P>

    The hotkey system allows you to customize the hotkey for anything
    that appears in the menus. You can freely change the hotkey for a
    menu item or add one if you find you are using a menu item
    frequently. Your settings for hotkeys are read from and stored in
    the ~/.FontForge/hotkeys file. In it's most basic form this file
    is a sequence of lines of the form action:key. A large default
    hotkeys file is provided with FontForge in the hotkeys/default
    file.
  <P>

    The below fragment of ~/.FontForge/hotkeys will hopefully provide
    a nice example to get you started creating your own hotkey
    bindings. As you can see the action part starts with
    "CharView.Menu.", meaning that this action is to invoke a menu on
    a specific window type. You can assign a different hotkey to the
    same menu item in two different window types. For example, the glyph window
    might have control+o to show font information, whereas the fontview might
    retain control+o to mean open a font. 
    <p>

    The first action in the below file, Point.Tools.Ruler, will invoke
    the Ruler menu item which is in the Tools menu, which is itself in
    the Point top level menu of the charview window (Glyph window).
    Notice that the key does not need to have a qualifier such as
    control or alt. Having no modifier for a hotkey is currently
    limited to the glyph window.

  <P><CODE><pre>
CharView.Menu.Point.Tools.Ruler: r
CharView.Menu.Point.Tools.Pointer: v
CharView.Menu.View.Show.Tab.Tab0: Ctl+1
CharView.Menu.View.Show.Tab.Tab1: Ctl+2
CharView.Menu.View.Zoom in: Shft++
CharView.Menu.View.Zoom in: z
CharView.Menu.View.Zoom in: =
CharView.Menu.Point.Tools.HVCurve: 1
+CharView.Menu.Point.Tools.G2: 1
</pre></code></p>
  <P>

    Continuing down the list you see the use of Ctl+1 to select a
    specific tab in the glyph window. This is followed by three key
    bindings, any of which will zoom the display to a higher
    magnification level.
  <P>

    When reading hotkeys files at startup, FontForge will first load
    many system defaults and then your ~/.FontForge/hotkeys file. Each
    file is processed from the first line to the last line. When
    reading these hotkey files, it might be the case that two or more
    lines have the exact same hotkey. For example, the system default
    is Control+o to open a file. You might like to override that
    hotkey to open the font info dialog instead. When FontForge is
    reading hotkeys files, if a hotkey is encountered that is already
    in use, the current action for that hotkey is replaced with the
    new action. So if you have the below line in your
    ~/.FontForge/hotkeys file then Control+o will open the font info
    dialog instead of trying to open a font.

    <p><code>
CharView.Menu.Element.Font Info...:Ctl+o
</code></p>
   <p> 
     If you want to add an action for a hotkey rather than replace
     the current action, prefix the line with a "+" character as the
     Tools.G2 line does in the above example. This allows the "1" key
     to invoke both the Tools.HVCurve and Tools.G2 menu items. In this
     case only one menu will perform a task depending on if spiro mode
     is active.
  <P>
     There are many modifiers that FontForge recognizes which are
     listed in the next paragraph. These are always the English name
     for the modifier regardless of your locale. The names are fully
     case insensitive; you can write Control, conTROL, or control and
     they will have the same effect. The non modifier key, for example
     's' without the quotes undergoes an internal case modification.
     If you specify control+S this will be interpreted as control
     being held while the 's' key is pressed. If you are wanting the
     Shift key to be held too, you need to explicitly specify that as
     with control+shift+s as the key definition.
     <p>
     FontForge recognizes the following standard modifiers: Alt, Esc
     Ctl, Control, Ctrl, Shft, Shift, CapsLock, Opt (the last corresponds to the Option
     key on the mac keyboard, Cmd+ for the mac Command key Note: This
     can only be used by an X program if the X11 application does not
     appropriate it -- this can be configured in the X11 Preferences).
  <p>
        Other than the CharView window type, there are FontView and MetricsView.
  </p>


  <P ALIGN=Center>
  -- <A HREF="helpmenu.html">Prev</A> -- <A HREF="overview.html">TOC</A> --
  <A HREF="scripting.html">Next</A> --
</DIV>
</BODY></HTML>
